package com.yike.user.service;

import com.yike.user.entity.AgentWithdrawalApply;
import com.yike.user.param.*;
import com.yike.common.base.BaseService;
import com.yike.common.pagination.Paging;
import com.yike.user.vo.*;

import java.util.List;

/**
 * 代理商提现申请表 服务类
 *
 * @author Sakura
 * @since 2024-09-23
 */
public interface AgentWithdrawalService extends BaseService<AgentWithdrawalApply> {

    WithdrawalInfoVo getWithdrawalInfo(WithdrawalInfoParam withdrawalInfoParam);

    List<UserBankAccountVo> getBankAccountList();

    AgentCommissionInfoVo getAgentCommissionInfo();

    boolean bindingBank(BindingBankParam bindingBankParam) throws Exception;

    boolean withdrawalApply(AgentWithdrawalApplyParam agentWithdrawalApplyParam) throws Exception;

    boolean withdrawalCheck(AgentWithdrawalCheckParam agentWithdrawalCheckParam) throws Exception;

    AgentWithdrawalApplyVo getAgentWithdrawalApply(Long id) throws Exception;

    List<AgentWithdrawalRecordVo> getWithdrawalRecords(Long id) throws Exception;

    Paging<AgentWithdrawalApplyVo> getAgentWithdrawalApplyPageList(AgentWithdrawalApplyPageParam agentWithdrawalApplyPageParam) throws Exception;

}
